package cn.hznc.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;

/**
 * 子程序实体类
 *
 * @Author Administrator
 * @Date 2023/3/13 8:57
 */
@Getter
@Setter
@Table(name = "t_sub_program")
@TableName(value = "t_sub_program")
public class SubProgramEntity {

    /**
     * 系统id
     */
    @Column(name = "id",type = MySqlTypeConstant.INT,length = 11,isKey = true,isAutoIncrement = true)
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 子程序名称
     */
    @Column(name = "name", type = MySqlTypeConstant.VARCHAR, length = 200)
    @TableField(value = "name" , updateStrategy= FieldStrategy.IGNORED)
    private String name;

    /**
     * 子程序编码
     */
    @Column(name = "code", type = MySqlTypeConstant.VARCHAR, length = 200)
    @TableField(value = "code" , updateStrategy= FieldStrategy.IGNORED)
    private String code;

    /**
     * 主程序编码(标识)
     */
    @Column(name = "program_code", type = MySqlTypeConstant.VARCHAR, length = 200)
    @TableField(value = "program_code" ,updateStrategy= FieldStrategy.IGNORED)
    private String programCode;

    /**
     * 刀具号
     */
    @Column(name = "tool_code", type = MySqlTypeConstant.VARCHAR, length = 50)
    @TableField(value = "tool_code" , updateStrategy= FieldStrategy.IGNORED)
    private String toolCode;

    /**
     * 刀具名称
     */
    @Column(name = "tool_name", type = MySqlTypeConstant.VARCHAR, length = 200)
    @TableField(value = "tool_name" ,  updateStrategy= FieldStrategy.IGNORED)
    private String toolName;

    /**
     * 刀具型号
     */
    @Column(name = "tool_model", type = MySqlTypeConstant.VARCHAR, length = 200)
    @TableField(value = "tool_model" , updateStrategy= FieldStrategy.IGNORED)
    private String toolModel;

    /**
     * 刀具型号
     */
    @Column(name = "tool_model_image", type = MySqlTypeConstant.VARCHAR, length = 500)
    @TableField(value = "tool_model_image", updateStrategy= FieldStrategy.IGNORED)
    private String toolModelImage;



    /**
     * 刀柄型号
     */
    @Column(name = "shank_model", type = MySqlTypeConstant.VARCHAR, length = 200)
    @TableField(value = "shank_model", updateStrategy= FieldStrategy.IGNORED)
    private String shankModel;

    /**
     * 刀柄型号
     */
    @Column(name = "shank_model_image", type = MySqlTypeConstant.VARCHAR, length = 500)
    @TableField(value = "shank_model_image", updateStrategy= FieldStrategy.IGNORED)
    private String shankModelImage;

    /**
     * 伸出长度
     */
    @Column(name = "extension", type = MySqlTypeConstant.DECIMAL, length = 14)
    @TableField(value = "extension", updateStrategy= FieldStrategy.IGNORED)
    private BigDecimal extension;

    /**
     * 转速
     */
    @Column(name = "rpm", type = MySqlTypeConstant.INT,length = 11)
    @TableField(value = "rpm", updateStrategy= FieldStrategy.IGNORED)
    private Integer rpm;

    /**
     * 进给量
     */
    @Column(name = "feed", type = MySqlTypeConstant.DECIMAL, length = 14)
    @TableField(value = "feed", updateStrategy= FieldStrategy.IGNORED)
    private BigDecimal feed;

    /**
     * 总长度
     */
    @Column(name = "total_length", type = MySqlTypeConstant.DECIMAL, length = 14)
    @TableField(value = "total_length", updateStrategy= FieldStrategy.IGNORED)
    private BigDecimal totalLength;

    /**
     * 刀具寿命
     */
    @Column(name = "life", type = MySqlTypeConstant.DECIMAL, length = 14)
    @TableField(value = "life", updateStrategy= FieldStrategy.IGNORED)
    private BigDecimal life;

    /**
     * 加工位置
     */
    @Column(name = "handle_location", type = MySqlTypeConstant.VARCHAR, length = 200)
    @TableField(value = "handle_location", updateStrategy= FieldStrategy.IGNORED)
    private String handleLocation;

    /**
     * 加工时长，单位：h
     */
    @Column(name = "handle_time", type = MySqlTypeConstant.DECIMAL, length = 14)
    @TableField(value = "handle_time", updateStrategy= FieldStrategy.IGNORED)
    private BigDecimal handleTime;

    /**
     * 版本号
     */
    @Column(name = "version", type = MySqlTypeConstant.INT,length = 11)
    @TableField(value = "version", updateStrategy= FieldStrategy.IGNORED)
    private Integer version;

    /**
     * 子程序序列
     */
    @Column(name = "seq", type = MySqlTypeConstant.TINYINT)
    private Integer seq;

    /**
     * 备注
     */
    @Column(name = "bz", type = MySqlTypeConstant.TEXT)
    @TableField(value = "bz", updateStrategy= FieldStrategy.IGNORED)
    private String bz;

    /**
     * 机床主程序印射表id
     */
    @Column(name = "mapping_id", type = MySqlTypeConstant.INT , length = 11)
    @TableField(value = "mapping_id")
    private Integer mappingId;


}
